\section*{Introduction}
\addcontentsline{toc}{section}{Introduction}
	
	Ce projet de système d'exploitation consiste à créer une bibliothèque d'ordonnancement de threads. Les threads manipulés dans ce projet sont en espace utilisateur, ce qui permet d'augmenter les performances par rapport à ceux de l'espace noyau. Ce gain de performance est d\^u à des co\^uts d'ordonnancement plus faibles. De plus dans cet espace, la politique d'ordonnancement est configurable, ce qui permet son optimisation.\\
	
	Les prototypes des fonctions à implémenter pour le bon fonctionnement de la bibliothèque sont fournies. La bibliothèque possède dont au moins les cinq fonctions suivantes : 
	\begin{itemize}
		\item \verb?thread_self()? : permet de récupérer l'identifiant du thread courant
		\item \verb?thread_create()? : permet de créer un thread
		\item \verb?thread_yield()? : permet de passer la main à un autre thread
		\item \verb?thread_join()? : permet d'attendre la terminaison d'un thread
		\item \verb?thread_exit()? : permet de clore le thread et de récupérer sa valeur de retour.\\
	\end{itemize}
	
	Les objectifs de ce projet inclus la comparaison des performances de notre bibliothèque au standard \textbf{pthread}, le garantissement d'une gestion mémoire la plus optimale possible et la création d'une bibliothèque partagée pour que le code soit utilisable par d'autres applications.
	
	
	